Shell学习笔记12-循环控制及状态返回值

GO


这一篇文章是关于break(循环控制)continue(循环控制)exit(退出脚本)return(退出函数)的知识。

1. break、continue、exit、return的区别和对比

breakcontinue在条件语句及循环语句(for、while、if等)中用于控制程序的走向;而exit则用于终止所有语句并退出当前脚本,除此之外,exit还可以返回上一次程序或命令的执行状态值给当前Shell;return类似于exit,只不过return仅用于在函数内部返回函数执行的状态值。关于这几个命令的基本说明见下表。

命令 说明
break n 如果省略n,则表示跳出整个循环,n表示跳出循环的层数
continue n 如果省略n,则表示跳过本次循环,忽略本次循环的剩余代码,进入循环的下一次循环。n表示退到第n层继续循环
exit n 退出当前Shell程序,n为上一次程序执行的状态返回值。n也可以省略,在下一个Shell里可以通过$?接受exit n的n值
return n 用于在函数里作为函数的返回值,以判断函数执行是否正确。在下一个Shell里可通过$?接收exit n的n值

2. break、continue、exit功能执行流程图

以while循环和for循环为例来说明这几个控制语句的流程:

2.1. 在循环中break功能和执行流程逻辑图

while循环和for循环中break的功能执行流程逻辑

2.2. 在循环中continue功能和执行流程逻辑图

while循环和for循环中continnue的功能执行流程逻辑

2.3. 在循环中exit功能和执行流程逻辑图

while循环和for循环中exit的功能执行流程逻辑


OK

0%